home *** CD-ROM | disk | FTP | other *** search
-
- Das CAB-Protokoll
- =================
-
- Das CAB-Protokoll besteht aus einer Reihe von AES-Messages mit deren
- Hilfe beliebige GEM-Programme bestimmte Aufgaben an CAB übertragen können,
- bzw. bestimmte Aktionen mit CAB koordinieren können.
-
- Der Inhalt der Environment-Variablen BROWSER= (sofern definiert) enthält
- den Zugriffspfad von CAB. Sollte sich CAB nicht im Speicher befinden kann
- ein Programm über diese Variable CAB selbst nachstarten.
-
- Eine mögliche Anwendung:
- Falls man im Internet weitere aktuelle Informationen oder Updates zu
- eigenen Programmen anbietet, könnte man mit dem CAB-Protokoll ohne großen
- Aufwand den Zugriff auf diese Informationen aus diesen Programmen heraus
- ermöglichen. CAB erledigt dann den Download der Daten und die Darstellung.
-
-
- Die Beschreibung der Messages
- =============================
-
- CAB_HELLO ($CAB8) (Nachricht von CAB)
- ------------------
- CAB verschickt nach seinem Start an alle laufenden Programme diese
- Nachricht
-
- msg[0] = $CAB8
- msg[1] = Id von CAB
- msg[2] = 0
- msg[3] = Version des CAB-Protokolls ($0100 entspricht V1.00)
- msg[4] = Bitvektor mit den von CAB (CAB.OVL) unterstützten Internet-
- Protokollen
- Bit 0: HTTP
- Bit 1: FTP
- Bit 2: GOPHER
- Bit 3: WAIS
- Bit 4: MAILTO
- Bit 5: NNTP
- Bit 6: TELNET
- Bit 7-15: 0 (reserviert)
- msg[5] = Bitvektor mit den von CAB unterstützten Nachrichten des
- CAB-Protokolls.
- Bit 0: CAB_VIEW
- Bit 1: CAB_MAIL, CAB_MAILSENT
- Bit 2: CAB_REQUESTSTATUS, CAB_RELEASESTATUS, CAB_STATUS,
- CAB_EXIT
- Bit 3-15: 0 (reserviert)
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_SUPPORT ($CABB) (Nachricht an CAB)
- --------------------
- Wird diese Nachricht an CAB geschickt, sendet CAB die Nachricht CAB_HELLO
- zurück. Bleibt CAB_HELLO aus, wird noch eine alte Version von CAB benutzt
- welche das CAB-Protokoll noch nicht unterstützt.
- Alle Programme, die an den Informationen interessiert sind, die CAB_HELLO
- liefert, sollten nach dem Start CAB_SUPPORT an CAB senden. Wird CAB erst
- später gestartet, wird CAB_HELLO automatisch an das Programm geschickt.
-
- msg[0] = $CABB
- msg[1] = Id des PRGs
- msg[2] = 0
- msg[3] = 0
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_VIEW ($CAB3) (Nachricht an CAB)
- ----------------
- Ähnlich wie VA_START aber statt eines Dateinamens wird eine URL übergeben.
- CAB zeigt diese Datei dann an.
-
- msg[0] = $CAB3
- msg[1] = Id des PRGs
- msg[2] = 0
- msg[3] = \ Zeiger auf die URL
- msg[4] = /
- msg[5] = Wenn hier 1 eingetragen wurde, stellt CAB die URL in einem neuen
- Fenster dar, wenn 0 eingetragen wurde wird das oberste CAB-
- Fenster benutzt.
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_REQUESTSTATUS ($CAB5) (Nachricht an CAB)
- -------------------------
- Kann an CAB geschickt werden, um zu erfahren ob CAB zur Zeit online oder
- offline ist. CAB schickt daraufhin bei jeder Änderung des On-/Offline-
- Statuses die Message CAB_STATUS.
-
- msg[0] = $CAB5
- msg[1] = Id des PRGs
- msg[2] = 0
- msg[3] = 0
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_RELEASESTATUS ($CAB7) (Nachricht an CAB)
- -------------------------
- Sollte an CAB geschickt werden, wenn ein Programm nicht mehr an den
- on/offline- Informationen interessiert ist, die mit CAB_REQUESTSTATUS
- angefordert wurden (z.B. weil es sich beendet).
-
- msg[0] = $CAB7
- msg[1] = Id des PRGs
- msg[2] = 0
- msg[3] = 0
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_STATUS ($CAB6) (Nachricht von CAB)
- ------------------
- Wird von CAB an alle Programme verschickt, die sich mit CAB_REQUESTSTATUS
- angemeldet haben.
-
- msg[0] = $CAB6
- msg[1] = Id von CAB
- msg[2] = 0
- msg[3] = 1 falls CAB online; 0 falls CAB offline.
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_EXIT ($CAB1) (Nachricht von CAB)
- ----------------
- Wird von CAB an alle Programme geschickt, die sich mit CAB_REQUESTSTATUS
- angemeldet haben, sobald sich CAB beendet. Vorher wird auch noch ein
- CAB_STATUS gesendet, in dem der offline-Zustand gemeldet wird.
-
- msg[0] = $CAB1
- msg[1] = Id von CAB
- msg[2] = 0
- msg[3] = 0
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_MAIL ($CAB9) (Nachricht an CAB)
- ----------------
- Kann an CAB geschickt werden, um Mails zu verschicken.
-
- msg[0] = $CAB9
- msg[1] = Id des PRGs
- msg[2] = 0
-
- msg[3] = \ Zeiger auf die URL. Ein 'Betreff' (Subject) kann, durch ein
- msg[4] = / Fragezeichen getrennt, direkt an die URL gehängt werden.
-
- msg[5] = \ Zeiger auf eine Datei, die den Mailinhalt enthält oder
- msg[6] = / null (dann öffnet CAB einen Editor, in dem die Mail eingegeben
- wird).
-
- msg[7] = Bitvektor mit weiteren Optionen.
- Bit 0: 0 falls die Maildatei sofort verschickt werden soll,
- oder 1 falls die Maildatei vom Benutzer noch in CAB
- bearbeitet/geändert werden soll.
- Bit 1: bei 1 wird die Maildatei gelöscht, nachdem sie verschickt
- wurde, bei 0 bleibt sie erhalten.
- Bit 2-15: 0 (reserviert)
-
-
- CAB_MAILSENT ($CABA) (Nachricht von CAB)
- --------------------
- Wird von CAB an das Programm geschickt, welches CAB_MAIL gesendet hat und
- enthält Informationen, ob das Verschicken der Mail geklappt hat oder nicht.
-
- msg[0] = $CABA
- msg[1] = Id von CAB
- msg[2] = 0
- msg[3] = 1 falls die Mail ohne Fehler verschickt wurde; 0 bei Fehler (in
- diesem Fall ist in msg[4] die Fehlerursache zu erfahren).
- msg[4] = Enthält eine Fehlernummer, falls msg[3]=0
- 0: Keine URL angegeben.
- 1: Offline, Netzverbindung gestört, Server nicht erreichbar.
- 2: Benutzer hat Aktion abgebrochen (Falls die Mail in CAB
- bearbeitet werden sollte, hat der Benutzer die
- Möglichkeit die Aktion abzubrechen)
- 3: GEMDOS-Fehler beim Zugriff auf die Maildatei.
- 4: Editor zum Bearbeiten konnte nicht aufgerufen werden.
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
-
- Spezielle Messages für 'Cache-Tools'
- ====================================
-
- CAB_CCHANGED ($CAB0) (Nachricht an/von CAB)
- --------------------
- Der Cache (bzw. CACHE.CAB) wurde verändert und soll neu eingelesen werden.
-
- msg[0] = $CAB0
- msg[1] = Id von CAB/des PRGs
- msg[2] = 0
- msg[3] = 0
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_EXIT ($CAB1) (Nachricht an/von CAB)
- ----------------
- CAB oder das Cache-Tool beendet sich (als Info für das jeweils andere PRG)
-
- msg[0] = $CAB1
- msg[1] = Id von CAB/des PRGs
- msg[2] = 0
- msg[3] = 0
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_PATH ($CAB2) (Nachricht von CAB)
- ----------------
- Die lokalen HTML-Verzeichnisse und/oder das Cache-Verzeichnis wurde
- geändert. Nähere Infos sind in der Cache-Tools-Dokumentation zu erfahren.
-
- msg[0] = $CAB2
- msg[1] = Id von CAB
- msg[2] = 0
- msg[3] = 0
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
- CAB_TERM ($CAB4) (Nachricht von CAB)
- ----------------
- Das Cache-Tool soll sich beenden.
-
- msg[0] = $CAB4
- msg[1] = Id von CAB
- msg[2] = 0
- msg[3] = 0
- msg[4] = 0
- msg[5] = 0
- msg[6] = 0
- msg[7] = 0
-
-
-
-